package fr.afcepf.atod19.groupeJV.view;

import java.util.List;

import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.servlet.http.HttpSession;

import fr.afcepf.atod19.groupeJV.business.interfaces.IBusinessCommentaire;
import fr.afcepf.atod19.groupeJV.business.interfaces.IBusinessJeux;
import fr.afcepf.atod19.groupeJV.entity.Article;
import fr.afcepf.atod19.groupeJV.entity.Commentaire;
import fr.afcepf.atod19.groupeJV.entity.Jeu;
import fr.afcepf.atod19.groupeJV.entity.Produit;


public class FicheJeuMB {
	private List<Jeu> listeJeuxSimilaire;
	private List<Commentaire> listeCommentaireJeu;
	private Article ArticleJeu;
	private Produit ProduitSelected;
	
	private IBusinessJeux businessJeux;
	private IBusinessCommentaire businessCommentaire;
	
	public String ajoutPanier(ActionEvent ae) {
		return null;
	}
	
	public String afficherJeu() {
		String idproduitSelected = (String) FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("idSelected");
		int idProduit = Integer.parseInt(idproduitSelected);
		ProduitSelected = businessJeux.getProduitById(idProduit);
		System.out.println("nom jeu: " + ProduitSelected.getJeu().getNomJeu());
		
		listeCommentaireJeu = businessCommentaire.getCommentairesJeux(ProduitSelected.getJeu());
		ArticleJeu = businessCommentaire.getArticleJeux(ProduitSelected.getJeu());
		
		return "/pages/catalogue/ficheJeu.xhtml?faces-redirect=true";
	}
	
	public FicheJeuMB() {
		try {
			Context ctx = new InitialContext();
			businessJeux = (IBusinessJeux) ctx.lookup("java:global/ProjetAtod/BusinessJeuxImpl!fr.afcepf.atod19.groupeJV.business.interfaces.IBusinessJeux");
			businessCommentaire = (IBusinessCommentaire) ctx.lookup("java:global/ProjetAtod/BusinessCommentaireImpl!fr.afcepf.atod19.groupeJV.business.interfaces.IBusinessCommentaire");
		} catch (NamingException e) {
			e.printStackTrace();
		}
	}

	public List<Jeu> getListeJeuxSimilaire() {
		return listeJeuxSimilaire;
	}
	
	
	public void setListeJeuxSimilaire(List<Jeu> listeJeuxSimilaire) {
		this.listeJeuxSimilaire = listeJeuxSimilaire;
	}

	public List<Commentaire> getListeCommentaireJeu() {
		return listeCommentaireJeu;
	}

	public void setListeCommentaireJeu(List<Commentaire> listeCommentaireJeu) {
		this.listeCommentaireJeu = listeCommentaireJeu;
	}

	public Produit getProduitSelected() {
		return ProduitSelected;
	}

	public void setProduitSelected(Produit produitSelected) {
		ProduitSelected = produitSelected;
	}

	public Article getArticleJeu() {
		return ArticleJeu;
	}

	public void setArticleJeu(Article ArticleJeu) {
		this.ArticleJeu = ArticleJeu;
	}
}
